// Targetable entities API
// =================================
/*
This API describes a doubly linked list of entities that can be considered targets by the game. This is to
slightly optimize the way monsters search for targets.

Notes:
	- Eventually, sort the list by parties, so that the party of target "x" is all in one spot, for quicker access.
*/

struct TargetableNode
{
	edict_t			*Entity;
	TargetableNode	*Next, *Prev;
};

// Add "targetable" to the targets list.
void Targetables_Add(edict_t *targetable);

// Remove "targetable" from the targets list.
void Targetables_Remove(edict_t *targetable);

// Get constant access to the targetables list.
const TargetableNode *Targetables_GetHead();

const Party *Targetables_GetParty(const TargetableNode *node);